#include "header.h"



//定义结构体，父进程记录子进程的状态
enum{
    BUSY,
    FREE
};

typedef struct son_information{
    pid_t pid;  //子进程pid
    int status; //子进程的忙/闲状态
    int local_socket;   //和子进程通信的本地socket文件描述符
}son_information;




//需要实现的函数，先在头文件声明


//初始化进程池，启动子进程，然后记录一下子进程的状态信息
int init_process_pool(son_information *list, int num);


//初始化TCP连接的socket的函数
int init_listen_socket(int *socket_fd, char *ip, char *port);


//添加监听到epoll中的函数
int add_epoll(int epoll_fd, int fd);


//将建立好连接的通信socket交给子进程，让子进程为客户服务
int to_son(son_information *list, int num, int net_fd);

//子进程的主逻辑
int son_main(int local_socket);


//父子进程本地socket通信的发送函数
int local_send(int local_socket, int net_fd);

//父子进程本地socket通信的接收函数
int local_recv(int local_socket, int *net_fd);


//和客户端交互的功能
int do_worker(int net_fd);
